package edu.upc.cineplanet.web;

import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

import edu.upc.cineplanet.Domain.UsuarioAdmin;
import edu.upc.cineplanet.service.UsuarioAdminService;

@Controller
public class UsuarioAdminController {

	@Autowired
	UsuarioAdminService service;
	
	@RequestMapping(value="/nuevoUsuario",method = RequestMethod.GET )	
	public String index(Model model){						
		return "nuevoUsuario";
	}

	@RequestMapping(value="/nuevoUsuario",method = RequestMethod.POST )	
	public String setupForm1(@RequestParam("nombre") String nombre,@RequestParam("paterno") String paterno,@RequestParam("clave") String clave,@RequestParam("jefe") String jefe,Model model ) {
		UsuarioAdmin usu = new UsuarioAdmin();
		usu.setNo_Usuario(nombre);
		usu.setNo_Apepaterno(paterno);
		usu.setClave(clave);
		usu.setNo_Jefe(jefe);
		service.crearUsuarioAdmin(usu);
		return "redirect:listaUsuarios";
	}
	
	@RequestMapping(value="/modificarUsuario", method=RequestMethod.GET)
	public @ModelAttribute("UsuarioAdmin") UsuarioAdmin modificarUsuario(@RequestParam("id") String id, Model model){		
		UsuarioAdmin usuario = service.ObtenerUsuarioAdmin(id);
		model.addAttribute("data", usuario);						
		return new UsuarioAdmin();
	}
	

	@RequestMapping(value="/modificarUsuario", method=RequestMethod.POST)
	public String modificarUsuario(@ModelAttribute("UsuarioAdmin")	UsuarioAdmin usuarioAdmin){
		service.actualizarUsuario(usuarioAdmin);
		return "redirect:listaUsuarios";
	}	
	
	@RequestMapping(value="/eliminarUsuario", method=RequestMethod.GET)
	public @ModelAttribute("UsuarioAdmin") UsuarioAdmin eliminarUsuario(@RequestParam("id") String id, Model model){		
		UsuarioAdmin usuario = service.ObtenerUsuarioAdmin(id);
		model.addAttribute("data", usuario);						
		return new UsuarioAdmin();
	}
	
	@RequestMapping(value="/eliminarUsuario", method=RequestMethod.POST)
	public String eliminarUsuario(@ModelAttribute("UsuarioAdmin")	UsuarioAdmin usuarioAdmin){
		service.eliminarUsuario(usuarioAdmin);
		return "redirect:listaUsuarios";
	}		
}
